﻿#pragma once
#include <cstdint>

class GameTimer
{
public:
    GameTimer();

    float TotalTime() const; // in seconds
    float DeltaTime() const; // in seconds

    void Reset();
    void Start();
    void Stop();
    void Tick();

private:
    double mSecondsPerCount;
    double mDeltaTime;

    __int64 mBaseTime;
    __int64 mPausedTime;
    __int64 mStopTime;
    __int64 mPrevTime;
    __int64 mCurTime;

    bool bStopped;
};
